union data_type {
    char* type_id;
    char* type_type;
    int type_int;
    float type_float;
};

typedef struct Node
{
    char* type;//节点语法成分
    union data_type data;
    int lineno;//行号
    int num;//儿子个数
    struct Node* child[7];//儿子节点,单个节点的儿子最多7个
} NODE;

NODE* createNode(const char* type, int lineno, int num, union data_type* data);
void output(NODE* node, int level);
